package com.gdcirrus.fs.highway.network.interfaces.dao.${package};

import com.cys.exam.interfaces.entity.${package}.I${entityName};

import java.util.List;
import java.util.Map;

/**
 *  ${entityComment} Dao接口
 * 	@author ${author}
 */
public interface ${entityName}Dao{

	/**
	 *  新增${entityName}
	 *	@param ${entityNameSmall} ${entityName}实体类
	 */
    void save(I${entityName} ${entityNameSmall});

	/**
	 *	修改${entityName}
	 *	@param ${entityNameSmall} ${entityName}实体类
	 */
	void update(I${entityName} ${entityNameSmall});

	/**
	 *  通过id物理删除${entityName}
	 *	@param id ${entityName}主键
	 */
	void deleteById(Long id);
	
	/**
	 *  批量物理删除${entityName}
	 *	@param ids ${entityName}主键数组
	 */
	void deleteBatch(Long[] ids);

	/**
	 *  通过id逻辑删除${entityName}
	 *  @param id ${entityName}主键
	 */
	void logicDeleteById(Long id);
	
	/**
	 *  批量逻辑删除${entityName}
	 *	@param ids ${entityName}主键数组
	 */
	void logicDeleteBatch(Long[] ids);
	
	/**
	 *  根据id加载${entityName}
	 *  @param id ${entityName}主键
	 */
	I${entityName} findEntityById(Long id);

	/**
	 *  获取${entityName}列表数据
	 *	@param map 默认空数据集
	 */
	List<I${entityName}> findList(Map<String, Object> map);

	/**
     * 分页数据
     * @param params   检索参数
     **/
    List<I${entityName}> findPage(Map<String, Object> params);
}
 



